今天要修改 data.js,主要是要實做資料的來源,做資料的處理。
本來預設給你的 data.js 都是一些預設的資料跟變數設定,不過在 blog reader 這個範例,會整個大改,我直接把程式碼貼過來,如有任何問題,建議以官方的範例為主。
http://msdn.microsoft.com/en-us/library/windows/apps/hh974582.aspx
哦對了,因為原本預設產生的 data.js 會有很多部分是 blog reader 不會用到的,刪刪減減的,還不如砍掉重練(看個人習慣xdd)。
我先從頭做起,不過這只是 data.js 前面的一部分。
(function () {
    //使用較嚴謹的嚴格模式
    "use strict";
    //定義 dataPromise
    //定義 blogs 變數,主要是用來存 blogs 這個 object  
    //以及其相對應的 key 跟 value 
    var dataPromises = [];
    var blogs;
    //實例化一個 WinJS.Binding.List,主要是要用綁定資料到前台的 ListView
    var blogPosts = new WinJS.Binding.List();
    
    //getFeeds 這個 function
    //會在 blogs 這個 Array 產生好幾筆 Object
    //並且取得每一個 blogs 裡的 Array 的資料
    //會在所有的非同步作業完成之後回傳(return blogs)
    function getFeeds() {
        // blogs儲存的內容,這裡官方好像是列12組,在這裡因為都是重複的形式,因此我先刪成只剩三筆
        blogs = [
        {
            key: "blog1",
            url: 'http://blogs.windows.com/skydrive/b/skydrive/atom.aspx',
            title: 'tbd', updated: 'tbd',
            acquireSyndication: acquireSyndication, dataPromise: null
        },
        {
            key: "blog2",
            url: 'http://blogs.windows.com/windows/b/windowsexperience/atom.aspx',
            title: 'tbd', updated: 'tbd',
            acquireSyndication: acquireSyndication, dataPromise: null
        },
        {
            key: "blog3",
            url: 'http://blogs.windows.com/windows/b/extremewindows/atom.aspx',
            title: 'tbd', updated: 'tbd',
            acquireSyndication: acquireSyndication, dataPromise: null
        }
        ];
        //取得 blogs 裡面的資料
        blogs.forEach(function (feed) {
            feed.dataPromise = feed.acquireSyndication(feed.url);
            dataPromises.push(feed.dataPromise);
        });
        // Return when all asynchronous operations are complete
        return WinJS.Promise.join(dataPromises).then(function () {
            return blogs;
        });
    }
//待續
後面還有很多functuion,待續。。。
![]()
![]()
讚!!! 火星文 to 太陽![]()
呵呵 不好意思![]()
我自己也覺得快要火星文了>< ![]()
老鷹也覺得老鷹的文章也快變成火星文了![]()
![]()
![]()